HE
bug

Movements Sql

Por Helflin, 29 de jun. de 2015 em Scripts

lua
movements
file.lua
sql code
sql
error
help
resolvido
7
1.6k
HelflinH
29 de junho de 2015 às 10:55

Fala galera,



Tenho esse código em um arquivo.lua:



doPlayerSendTextMessage(cid,22,"Voce entrou na sala de treinamento.")
db.query("UPDATE `players` SET `is_training` = 1 WHERE name = '".. getCreatureName(cid).."'")

Porém tem um problema, quando o CreatureName tem ' no meio, tipo Knight'Fulano, ele da erro de sql.

Pensei em algo(função) tipo o ADDSLASHES() do PHP, que insere \(barra invertida) antes do ' para realizar inserção no bd, mas não sei se existe isso pra configurações .lua, pois não sei mexer em .lua ...


Alguma solução?


Vlw Galera..

BrunoB
29 de junho de 2015 às 15:01

@@Helflin,

Tenta assim:

doPlayerSendTextMessage(cid,22,"Voce entrou na sala de treinamento.")
db.query("UPDATE `players` SET `is_training` =  1 WHERE name = '" .. string.gsub(getCreatureName(cid), "'", "\'") .. "';")
zipter98Z
29 de junho de 2015 às 15:06

nvm já postaram

Editado Junho 29 por zipter98

HelflinH
29 de junho de 2015 às 16:35

O erro continua quanto ao '

 

2epr2oj.png

 

O negócio é:

 

O cara entra em um teleport que tem certo uniqueID, ai eu vou e altero um campo na tabela players ...

Porém eu to checando WHERE nome = x ... Não teria como eu usar uma função que pega o ID do player ao invés de pegar o nome? Com isso eu não teria esse erro de quebra de string.

BrunoB
29 de junho de 2015 às 16:40
Melhor resposta

O erro continua quanto ao '

 

2epr2oj.png

 

O negócio é:

 

O cara entra em um teleport que tem certo uniqueID, ai eu vou e altero um campo na tabela players ...

Porém eu to checando WHERE nome = x ... Não teria como eu usar uma função que pega o ID do player ao invés de pegar o nome? Com isso eu não teria esse erro de quebra de string.

 

 

Tem sim,

Basta usar a condição

WHERE id = getPlayerGUID(cid)

HelflinH
29 de junho de 2015 às 16:47

Vlw @zipter98 e @BrunoMinervino.

WHERE id = getPlayerGUID(cid)

Isso resolveu, vlw mesmo!!

BrunoB
29 de junho de 2015 às 17:06

Tópico movido para a seção de dúvidas e pedidos resolvidos.